package org.pine.schedule;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @ClassName MySchedule
 * @Description Schedule定时
 * @Author liucs
 * @Date 2021-02-20
 * @Version V1.0
 */
@Component
public class MySchedule {

    /**
     * 当前任务执行结束后1秒后开启另一个任务
     */
    @Scheduled(fixedDelay = 1000)
    public void fixedDelay(){
        System.out.println("fixedDelay:"+new Date());
    }

    /**
     * 当前任务开始执行2秒后开启另一个任务
     */
    @Scheduled(fixedRate = 2000)
    public void fixedRate(){
        System.out.println("fixedRate:"+new Date());
    }

    /**
     * initialDelay = 1000 首次执行的延迟时间1秒
     * 当前任务开始执行2秒后开启另一个任务
     */
    @Scheduled(initialDelay = 1000,fixedRate = 2000)
    public void initialDelay(){
        System.out.println("initialDelay:"+new Date());
    }

    /**
     * 0 * * * * ? 每分钟执行一次
     */
    @Scheduled(cron = "0 * * * * ?")
    public void cron(){
        System.out.println("cron:"+new Date());
    }
}

